package com.gnerv.sylvanas.business.manage.repository.mapper;

import com.gnerv.sylvanas.business.manage.model.dto.ViewDTO;
import com.gnerv.sylvanas.business.manage.model.dto.ViewTreeDTO;
import com.gnerv.sylvanas.business.manage.model.entity.View;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Gnerv LiGen
 */
@Mapper
public interface ViewMapper {

    int insert(@Param(value = "view") View view);

    int deleteByUkId(@Param(value = "ukId") String ukId);

    int updateByUkId(@Param(value = "view") View view);

    ViewDTO selectByUkId(@Param(value = "ukId") String ukId);

    List<ViewDTO> selectListByName(@Param(value = "name") String name);

    List<ViewDTO> selectListByParentUkId(@Param(value = "parentUkId") String parentUkId);

    List<ViewTreeDTO> selectListTreeByParentUkId(@Param(value = "parentUkId") String parentUkId);

    List<ViewTreeDTO> selectListTreeByParentUkIdAndAccountUkId(@Param(value = "parentUkId") String parentUkId, @Param(value = "accountUkId") String accountUkId);
}




